package com.ysstech.etfmanage.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

import cn.hutool.core.date.DatePattern;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * ETF交易信息表
 * </p>
 *
 * @author lishuangliang
 * @since 2021-02-25
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("etf_deal_detailed")
public class DealDetaild extends Model<DealDetaild> {

    private static final long serialVersionUID = 1L;

    @TableId("ID")
    private String id;
    /**
     * 基金编码
     */
    @TableField("ACCOUNT_ID")
    private String accountId;
    /**
     * 交易日期
     */
    @TableField("FDATE")
    private LocalDate fdate;
    /**
     *  ETF模式 1.股票2.债券。3期货
     */
    @TableField("ETF_MODE")
    private Integer etfMode;
    /**
     * ETF市场
     */
    @TableField("ETF_MARKET")
    private String etfMarket;
    /**
     * ETF类型 1单市场 2跨市场3集中申购
     */
    @TableField("ETF_TYPE")
    private Integer etfType;
    /**
     * 股东代码
     */
    @TableField("SHAREHOLDER_CODE")
    private String shareholderCode;
    /**
     * 交易席位
     */
    @TableField("DEAL_SEAT")
    private String dealSeat;
    /**
     * 证券代码
     */
    @TableField("SECURITY_CODE")
    private String securityCode;
    /**
     * 市场
     */
    @TableField("MARKET")
    private String market;
    /**
     * 证券数量
     */
    @TableField("DEAL_AMOUNT")
    private BigDecimal dealAmount;
    /**
     * 成交价格
     */
    @TableField("DEAL_PRICE")
    private BigDecimal dealPrice;
    /**
     * 成交金额
     */
    @TableField("DEAL_MONEY")
    private BigDecimal dealMoney;
    /**
     * 业务类型
     */
    @TableField("BUSINESS_TYPE")
    private String businessType;
    /**
     * 业务类别
     */
    @TableField("BUSINESS_CATEGORY")
    private String businessCategory;
    /**
     * 订单编号
     */
    @TableField("ORDER_NUMBER")
    private String orderNumber;
    /**
     * 成交编号
     */
    @TableField("TRANSACTION_NUMBER")
    private String transactionNumber;

    /**
     * 状态
     */
    @TableField("STATUS")
    private Integer status;
    /**
     * 添加时间
     */
    @JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
    @TableField("ADD_TIME")
    private LocalDateTime addTime;

    /**
     * 添加用户
     */
    @TableField("ADD_USER")
    private String addUser;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
    @TableField("EDIT_TIME")
    private LocalDateTime editTime;

    /**
     * 修改用户
     */
    @TableField("EDIT_USER")
    private String editUser;
    /**
     * 删除原因
     */
    @TableField("DELETE_REASON")
    private String deleteReason;

    @Override
    protected Serializable pkVal() {
        return null;
    }
    //查询条件日期
    @TableField(exist = false)
    private String selfdate;
}
